home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 009 / dm501.unp < prev    next >
Text File  |  1987-06-12  |  3KB  |  111 lines

  1. How to unprotect DIAGRAM MASTER, version 5.01:
  2.  
  3. First, MAKE A COPY of the original DIAGRAM MASTER diskette. NEVER tamper with
  4. your original disk!
  5.  
  6. Using the COPY, RENAME DM.EXE to DM.XEX
  7.  
  8. DEBUG DM.XEX
  9.  
  10. At locations 4332, 4392, and 43B7 is the code which checks drive A for the
  11. presence of the signature sector. This code typically looks like:
  12.  
  13.     MOV AL,01
  14.     MOV AH,04
  15.     INT 13
  16.  
  17. We will patch the program so that it thinks all is well and doesn't bother to
  18. check the floppy:
  19.  
  20. -u 4320
  21. xxxx:4320 16            PUSH    SS
  22. xxxx:4321 2A00          SUB     AL,[BX+SI]
  23. xxxx:4323 B600          MOV     DH,00
  24. xxxx:4325 B500          MOV     CH,00
  25. xxxx:4327 B101          MOV     CL,01
  26. xxxx:4329 B001          MOV     AL,01
  27. xxxx:432B B404          MOV     AH,04
  28. xxxx:432D 06            PUSH    ES
  29. xxxx:432E 33DB          XOR     BX,BX
  30. xxxx:4330 8EC3          MOV     ES,BX
  31. xxxx:4332 CD13          INT     13          <---here's one!
  32. xxxx:4334 07            POP     ES
  33. xxxx:4335 7338          JNB     436F
  34. xxxx:4337 80FC06        CMP     AH,06
  35. xxxx:433A 74E3          JZ      431F
  36. xxxx:433C 80FC80        CMP     AH,80
  37. xxxx:433F 7405          JZ      4346
  38.  
  39. -u 4380
  40. xxxx:4380 2A00          SUB     AL,[BX+SI]
  41. xxxx:4382 8A362900      MOV     DH,[0029]
  42. xxxx:4386 8A2E2800      MOV     CH,[0028]
  43. xxxx:438A 8A0E2400      MOV     CL,[0024]
  44. xxxx:438E B001          MOV     AL,01
  45. xxxx:4390 B404          MOV     AH,04
  46. xxxx:4392 CD13          INT     13          <---here's one!
  47. xxxx:4394 59            POP     CX
  48. xxxx:4395 7308          JNB     439F
  49. xxxx:4397 E2E4          LOOP    437D
  50. xxxx:4399 59            POP     CX
  51. xxxx:439A A33A00        MOV     [003A],AX
  52. xxxx:439D EB2E          JMP     43CD
  53. xxxx:439F B90200        MOV     CX,0002
  54.  
  55. -u 43b3
  56. xxxx:43B3 B001          MOV     AL,01
  57. xxxx:43B5 B404          MOV     AH,04
  58. xxxx:43B7 CD13          INT     13          <---here's one!
  59. xxxx:43B9 59            POP     CX
  60. xxxx:43BA 80FC04        CMP     AH,04
  61. xxxx:43BD 740B          JZ      43CA
  62. xxxx:43BF E2E1          LOOP    43A2
  63. xxxx:43C1 59            POP     CX
  64. xxxx:43C2 C7063A00FFFF  MOV     WORD PTR [003A],FFFF
  65. xxxx:43C8 EB03          JMP     43CD
  66. xxxx:43CA 59            POP     CX
  67. xxxx:43CB E2AC          LOOP    4379
  68. xxxx:43CD C3            RET
  69. xxxx:43CE 55            PUSH    BP
  70. xxxx:43CF 8BEC          MOV     BP,SP
  71. xxxx:43D1 1E            PUSH    DS
  72. xxxx:43D2 B8E703        MOV     AX,03E7
  73.  
  74. So here goes:
  75.  
  76. -a 4332
  77. xxxx:4332 NOP           ;get rid of disk interrupt
  78. xxxx:4333 NOP
  79. xxxx:4334 <cr>          ;to break out of assembly
  80.  
  81. -a 4335                 ;to "fix" the jump instruction
  82. xxxx:4335 JMP 436F
  83. xxxx:4337 <cr>          ;break out
  84.  
  85. -a 4392
  86. xxxx:4392 NOP           ;get rid of disk interrupt
  87. xxxx:4393 NOP
  88. xxxx:4394 <cr>          ;break out
  89.  
  90. -a 4395
  91. xxxx:4395 JMP 439F      ;fix the jump
  92. xxxx:4397 <cr>          ;break out
  93.  
  94. -a 43B7
  95. xxxx:43B7 NOP           ;get rid of disk interrupt
  96. xxxx:43B8 NOP
  97. xxxx:43B9 <cr>          ;break out
  98.  
  99. -a 43BD
  100. xxxx:43BD JMP 43CA      ;fix last jump
  101. xxxx:43BF <cr>          ;break out
  102. -w                      ;write it back out
  103. Writing 61C7 bytes
  104. -q                      ;end debug session
  105.  
  106. RENAME DM.XEX DM.EXE    ;restore the name
  107.  
  108. Diagram Master, version 5.01, is now unprotected. Have fun!
  109.  
  110. LET THERE BE SOFTWARE!
  111.